1. Technical Field
The present invention generally relates to data transmissions in computer networks and, in particular, to a method for selective streaming of data (e.g. video) using multiple transmission protocols.
2. Description of the Related Art
It is known in the prior art to "stream" data between different segments of a computer network. In a typical computer network environment, such as an enterprise intranet, data streaming may be carried out by delivering a separate stream for each user or by delivering a single stream to all users. The former technique effects point-to-point (P2P) communication or "unicasting" and is often implemented using the Internet Protocol (IP) unicast communications protocol. The latter technique effects point-to-multipoint (P2M) communication or"multicasting" and is often implemented using the IP multicast communications protocol. IP multicast is the most efficient of these transport mechanisms because only one copy of the data is propagated throughout the network. All systems that desire to receive the transmitted stream simply register with the network to receive the data.
Although IP multicast is the most desirable method of transmitting the data to several systems at once, it is sometimes not used. IP multicast may not be used due to technical limitations. For example, some network routers may not have the capability to support the protocol; alternatively, the available network bandwidth on some segments of the network may not have the capacity to handle streaming data traffic when it is not received by any end user on the segment. Even where the network segment may support IP multicast, a network administrator may elect not to activate it for performance reasons as multicasting does consume bandwidth. For these reasons, IP multicast is most commonly used in a highly-selective manner throughout the network.
It is also known in the art to use both IP multicast and IP unicast on the same intranet to transmit the same data. However, such techniques have a number of problems associated with them as well. First, a careful mix of IP multicast and IP unicast must be established that minimizes the amount of data being transmitted on the network. For example, if some users receive the data via IP multicast and others receive it via IP unicast, multiple copies of the data are transported out onto the network. This may or may not be the most efficient way to reach these systems, especially if many of the unicast streams are directed to systems on the same network segment. Another problem that arises from the combination of IP multicast and IP unicast on the same intranet is that the receiving application must be capable of handling both types of streams while minimizing the network traffic requirements.
The present invention is directed to solving these problems.